package com.comeval.logica;

import com.comeval.modelo.Pqrs;
import com.comeval.persistencia.IPqrsDAO;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author DianaMarcela
 */
@Stateless
public class LogicaPqrs implements LogicaPqrsLocal {

    @EJB
    private IPqrsDAO pqrsDAO;

    @Override
    public void registrarPqrs(Pqrs pqrs) throws Exception {
        if (pqrs == null) {
            throw new Exception("La pqrs no tiene información");
        }
        Pqrs objPqrs = pqrsDAO.consultarPorCodigo(pqrs.getCodigopqrs());
        if (objPqrs != null) {
            throw new Exception("El codigo ya se encuentra asociado a una pqrs");
        }
        pqrsDAO.registrarPqrs(pqrs);
    }

    @Override
    public void modificarPqrs(Pqrs pqrs) throws Exception {
        if (pqrs == null) {
            throw new Exception("La pqrs no tiene información");
        }
        if (pqrs.getCodigopqrs() == null) {
            throw new Exception("Por favor ingrese un codigo");
        }
        Pqrs objPqrs = pqrsDAO.consultarPorCodigo(pqrs.getCodigopqrs());
        if (objPqrs == null) {
            throw new Exception("El codigo no existe para una pqrs");
        }
        pqrsDAO.modificarPqrs(pqrs);

    }

    @Override
    public void eliminarPqrs(Pqrs pqrs) throws Exception {
        Pqrs objPqrs = pqrsDAO.consultarPorCodigo(pqrs.getCodigopqrs());
        if (objPqrs == null) {
            throw new Exception("El codigo no existe para una pqrs");
        }
        pqrsDAO.eliminarPqrs(objPqrs);

    }

    @Override
    public List<Pqrs> consultarPqrs() throws Exception {
        return pqrsDAO.consultarPqrs();
    }

    @Override
    public Pqrs consultarPorCodigo(Integer codigoPqrs) throws Exception {
        if (codigoPqrs == null) {
            throw new Exception("Por favor ingrese un codigo");
        }
        return pqrsDAO.consultarPorCodigo(codigoPqrs);
    }

}
